﻿#pragma once

#include <QObject>

class DataLimit : public QObject
{
  Q_OBJECT

public:
  DataLimit(QObject *parent=Q_NULLPTR);
  ~DataLimit();

private:
  static int mEMSDataAccuracyUpperLimit_display;//数据显示精度上限
  static int mEMSDataAccuracyLowerLimit_display;//数据显示精度下限
  static int mEMSDataAccuracyUpperLimit_save;//数据保存精度上限
  static int mEMSDataAccuracyLowerLimit_save;//数据保存精度下限
  static int mEMSData_intervalLowerLimit_collection;//数据收集间隔下限
  static int  scriptManage_intervalLowerLimit_turnTableOperationTimeOut;//脚本转台操作超时时间下限
  static int turnTablePositionUpperLimit_max;//转台位置上限，最大值
  static int turnTablePositionLowerLimit_min;//转台位置下限，最小值
  static int turnTableRateUpperLimit_max;//转台速率上限，最大值
  static int turnTableRateLowerLimit_min;//转台速率下限，最小值
  static int turnTableAccelerationUpperLimit_max;//转台加速度上限，最大值
  static int turnTableAccelerationLowerLimit_min;//转台加速度下限，最小值

public:
  static int standardizeMEMSDataAccuracy_display(int dataAccuracy_display);
  static int standardizeMEMSDataAccuracy_save(int dataAccuracy_save);
  static int standardizeMEMSDataCollectionInterval(int mEMSData_interval_collection);
  static int standardizeScriptManageTurnTableOperationTimeOutInterval(int scriptManage_interval_turnTableOperationTimeOut);
  static int standardizeTurnTablePositionLimit(int turnTablePositionLimit);
  static int standardizeTurnTableRateLimit(int turnTableRateLimit);
  static int standardizeTurnTableAccelerationLimit(int turnTableAccelerationLimit);

public:
  static int getMEMSDataAccuracyUpperLimit_display();//数据显示精度上限
  static int getMEMSDataAccuracyLowerLimit_display();//数据显示精度下限
  static int getMEMSDataAccuracyUpperLimit_save();//数据保存精度上限
  static int getMEMSDataAccuracyLowerLimit_save();//数据保存精度下限
  static int getMEMSData_intervalLowerLimit_collection();
  static int getScriptManage_intervalLowerLimit_turnTableOperationTimeOut();


  static float getTurnTablePositionUpperLimit();//转台位置上限（绝对值）
  static float getTurnTablePositionLowerLimit();//转台位置下限（绝对值）
  static float getTurnTableRateUpperLimit();//转台速率上限（绝对值）
  static float getTurnTableRateLowerLimit();//转台速率下限（绝对值）
  static float getTurnTableAccelerationUpperLimit();//转台加速度上限（绝对值）
  static float getTurnTableAccelerationLowerLimit();//转台加速度下限（绝对值）
};
